#ifndef WIDGET_H
#define WIDGET_H

#include"Boxgame.h"
#include <QWidget>
#include <QMessageBox>

QT_BEGIN_NAMESPACE
namespace Ui { class Widget; }
QT_END_NAMESPACE

class Widget : public QWidget

{
    Q_OBJECT

public:
    Widget(QWidget *parent = nullptr);
    ~Widget();
    //细节：如果不是斜体，表明函数名写错
    void keyPressEvent(QKeyEvent* event);
    void paintEvent(QPaintEvent* event);
     QPushButton* quitButton; // 退出游戏按钮
    void showGameOverMessage();
signals:
    void gameFinished(); // 游戏完成信号
public slots:
    void restartGame();//重新开始游戏
private slots:
    void quitGame(); // 退出游戏槽函数

private:
    Ui::Widget *ui;
    QPainter* pMap;
    BoxGame* pBox;
    bool gameEnded; // 游戏是否已结束
};



class GameWindow : public QWidget
{
    Q_OBJECT

public:
    explicit GameWindow(QWidget *parent = nullptr);
    ~GameWindow();
};


#endif // WIDGET_H
